iT邦幫忙

2022 iThome 鐵人賽

DAY 4
2

接著,我們要開始學習指令有趣的地方,漸漸體會到指令的魔法之處了。

不過首先,要使用任何魔法之前,我們都要先認識自己

dumbledore

首先,我們複習一下,上次我們透過 whoami 這個指令,找到自己的使用者身份是誰

$ whoami
ec2-user

要在主機裡面加入一個新的使用者,我們可以使用 useradd 這個指令

不過,要是我們直接嘗試使用這個指令,我們會得到權限不足的問題

$ useradd ithome
-bash: /usr/sbin/useradd: Permission denied

這下該怎麼辦呢?誰才有權限建立新的使用者呢?

這邊就要提到 linux 系統裡面權限最大的使用者:root

基本上,root 可以被視為權限最大的管理員,不管檔案的建立者或者權限設置為何,root 都可以進行操作。建立使用者這種事情自然也沒問題。

要切換到 root 的權限,很幸運的,ec2-user 剛好有足夠的資格可以切換。切換的時候我們可以使用 sudo (execute a command as another user)這個指令

$ sudo useradd ithome

有非常多的指令,在執行時如果沒有權限,前面加上 sudo 就會有權限了

sandwich

執行之後沒有任何錯誤訊息,這就代表我們成功的建立出 ithome 這個使用者了

我們可以嘗試利用 su (substitute user identity)這個切換的方式,將現在的身份切換成 ithome

$ su ithome
Password: 

奇怪,我們根本沒有設置任何的密碼呀?

這是因為,要使用切換使用者的 su 這個指令,一樣需要有 root 的權限才可以執行。

所以我們要搭配 sudo 這個指令

$ sudo su ithome
$ whoami
ithome

到這邊要特別注意,由於 ithome 這個用戶沒有使用 sudo 的權限,所以要切換回 ec2-user 只能用重新連線的方式登入。

到這邊,我們切換身份的作法,就差不多介紹完畢了。

不過有的讀者可能會想到:既然 root 的身份是最大的使用者權限,我們為何不直接將使用者切換成是 root,那麼就可以一直用最大權限來進行操作了呀!

這個是可以的,並且由於 root 已經是指令預設切換的身份,我們不需要再特別寫在指令內。

在登入身份為 ec2-user 的狀況下,我們輸入

$ sudo su
# whoami
root

我們可以發現,不僅僅 whoami 顯示登入的身份是 root,包含我們的指令前面的符號,也從 $ 變成了 #

今天我們的分享就到這邊為止,我們明天見!


上一篇
Day 03:認識自己的指令工具
下一篇
Day 05:指令界的大師!談 man 指令
系列文
林姓商人與指令操作的秘密—談 Linux command line interface30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言